A communication, or link, protocol is a system of rules that allows two or more devices to communicate data with each other. A link protocol defines the syntax, semantics and synchronization of the communication that takes place and establishes error recovery mechanisms for re-establishing communication should errors occur. If the data is contained in packets, the protocol is termed a packetized protocol.
One of the error recovery mechanisms commonly provided in a link protocol is a replay mechanism. The replay mechanism allows a receiving device to request a transmitting device (a “transmitter”) to retransmit data that is lost or corrupted during communication. Conventional error recovery mechanisms for packetized link protocols employ an identifying tag, or ID tag, in each packet of data transmitted between devices such that the receiving device (a “receiver”) can determine, and request the resending of only, the packets that are lost or corrupted. The transmitter therefore only has to resend those packets. The ID tags are usually communicated “in-band,” that is, they are embedded in the packets themselves, and not in a separate stream. These error recovery mechanisms have proven reliable and are in wide use today, particularly in the context of streaming video.